package com.itheima.algorithm.recursion_single;


public class E04BubbleSort {
    public static void sort(int [] a){
        bubble(a,a.length-1);
    }

    //j代表待排序数组的右边界
    public static void bubble(int [] a,int j){
        //当只有一个元素使结束递归
        if(j==0){
            return;
        }
        int x=0;
        for(int i=0;i<j;i++){
            if(a[i]>a[i+1]){
                swap(a,i,i+1);
                //x右侧的值都已经有序了
                x=i;
            }
        }
        bubble(a,x);
    }

    public static void swap(int [] a,int i,int j){
        int temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }
}
